package com.ruoyi.system.domain;

import javax.validation.constraints.*;

import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 机构表 sys_dept
 *
 * @author ruoyi
 */
public class SysDept extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * 处置机构签约状态
     * 属性默认0未签约，1签约，2签约过期
     */

    /**
     * 机构ID
     */
    private Long deptId;

    /**
     * 父机构ID
     */
    private Long parentId;

    /**
     * 祖级列表
     */
    private String ancestors;

    /**
     * 机构名称
     */
    private String deptName;

    /**
     * 显示顺序
     */
    private String orderNum;

    /**
     * 负责人
     */
    private String leader;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 机构状态:0正常,1停用
     */
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 父机构名称
     */
    private String parentName;

    /**
     * 父机构类型
     */
    private Long parentType;

    /**
     * 医院logo
     */
    private String logo;

    private int  childCount ;

    /**
     * XiaoYi...
     * 医院等级
     *
     * @Date : 2020-03-09 10:35
     */
    private String hospitalGrade;


    /**
     * 机构类型（DEPT_TYPE）
     */
    @Excel(name = "机构类型", readConverterExp = "D=EPT_TYPE")
    private String deptType;

    /**
     * 地区表id
     */
    @Excel(name = "地区表id")
    private Integer districtsId;

    /**
     * 地区 名称
     */
    private String extName;

    /**
     * 地理坐标
     */
    @Excel(name = "地理坐标")
    private String coordinates;

    /**
     * 超期未录入预警开关（0 开关   1 关）
     */
    private String overdueNotinputSwitch;

    /**
     * 超期未录入( 预警小时数 )
     */
    private Integer overdueNotinputHours;

    // 最后一次填报今天无医废录入的时间
    private Date lastNoCollDate;


    /**
     * 科室转换为机构
     */
//    管理名登录账号 密码默认
    private String deptLoginName;
//    科室id
    private Long departmentId;

//    是否创建管理员账号
    private String isCreateAdminUserBoo;
//    默认是否创建科室
    private String isCreateDeptBoo;
//    是否迁移曾经的医废
    private String  isMedicalWasteTransferBoo;

    private String signStatus;

    public String getSignStatus() {
        return signStatus;
    }

    public void setSignStatus(String signStatus) {
        this.signStatus = signStatus;
    }

    public int getChildCount() {
        return childCount;
    }

    public void setChildCount(int childCount) {
        this.childCount = childCount;
    }

    public String getIsCreateAdminUserBoo() {
        return isCreateAdminUserBoo;
    }

    public void setIsCreateAdminUserBoo(String isCreateAdminUserBoo) {
        this.isCreateAdminUserBoo = isCreateAdminUserBoo;
    }

    public Long getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }


    public String getDeptLoginName() {
        return deptLoginName;
    }

    public void setDeptLoginName(String deptLoginName) {
        this.deptLoginName = deptLoginName;
    }


    public String getIsCreateDeptBoo() {
        return isCreateDeptBoo;
    }

    public void setIsCreateDeptBoo(String isCreateDeptBoo) {
        this.isCreateDeptBoo = isCreateDeptBoo;
    }

    public String getIsMedicalWasteTransferBoo() {
        return isMedicalWasteTransferBoo;
    }

    public void setIsMedicalWasteTransferBoo(String isMedicalWasteTransferBoo) {
        this.isMedicalWasteTransferBoo = isMedicalWasteTransferBoo;
    }

    public Long getParentType() {
        return parentType;
    }

    public void setParentType(Long parentType) {
        this.parentType = parentType;
    }

    public Date getLastNoCollDate() {
        return lastNoCollDate;
    }

    public void setLastNoCollDate(Date lastNoCollDate) {
        this.lastNoCollDate = lastNoCollDate;
    }

    public String getExtName() {
        return extName;
    }

    public void setExtName(String extName) {
        this.extName = extName;
    }

    public String getDeptType() {
        return deptType;
    }

    public void setDeptType(String deptType) {
        this.deptType = deptType;
    }

    public Integer getDistrictsId() {
        return districtsId;
    }

    public void setDistrictsId(Integer districtsId) {
        this.districtsId = districtsId;
    }

    public String getCoordinates() {
        return coordinates;
    }

    public void setCoordinates(String coordinates) {
        this.coordinates = coordinates;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    @NotBlank(message = "机构名称不能为空")
    @Size(min = 0, max = 30, message = "机构名称长度不能超过30个字符")
    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }

    public String getLeader() {
        return leader;
    }

    public void setLeader(String leader) {
        this.leader = leader;
    }

    @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Size(min = 0, max = 150, message = "邮箱长度不能超过50个字符")
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public String getHospitalGrade() {
        return hospitalGrade;
    }

    public void setHospitalGrade(String hospitalGrade) {
        this.hospitalGrade = hospitalGrade;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public String getOverdueNotinputSwitch() {
        return overdueNotinputSwitch;
    }

    public void setOverdueNotinputSwitch(String overdueNotinputSwitch) {
        this.overdueNotinputSwitch = overdueNotinputSwitch;
    }

    public Integer getOverdueNotinputHours() {
        return overdueNotinputHours;
    }

    public void setOverdueNotinputHours(Integer overdueNotinputHours) {
        this.overdueNotinputHours = overdueNotinputHours;
    }

    @Override
    public String toString() {
        return "SysDept{" +
                "deptId=" + deptId +
                ", parentId=" + parentId +
                ", ancestors='" + ancestors + '\'' +
                ", deptName='" + deptName + '\'' +
                ", orderNum='" + orderNum + '\'' +
                ", leader='" + leader + '\'' +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                ", status='" + status + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", parentName='" + parentName + '\'' +
                ", parentType=" + parentType +
                ", logo='" + logo + '\'' +
                ", hospitalGrade='" + hospitalGrade + '\'' +
                ", deptType='" + deptType + '\'' +
                ", districtsId=" + districtsId +
                ", extName='" + extName + '\'' +
                ", coordinates='" + coordinates + '\'' +
                ", overdueNotinputSwitch='" + overdueNotinputSwitch + '\'' +
                ", overdueNotinputHours=" + overdueNotinputHours +
                ", lastNoCollDate=" + lastNoCollDate +
                ", deptLoginName='" + deptLoginName + '\'' +
                ", departmentId=" + departmentId +
                ", isCreateAdminUserBoo='" + isCreateAdminUserBoo + '\'' +
                ", isCreateDeptBoo='" + isCreateDeptBoo + '\'' +
                ", isMedicalWasteTransferBoo='" + isMedicalWasteTransferBoo + '\'' +
                '}';
    }
}
